#  (C) Copyright boost 2004-2014.
#  Distributed under the Boost Software License, Version 1.0.
#  (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)
#
#  See http://www.boost.org/libs/test for the library home page.

import os ;

import ../predef/check/predef
    : check
    : predef-check ;

project boost/test
    : source-location ../src
    : requirements <link>shared:<define>BOOST_TEST_DYN_LINK=1
                   <toolset>borland:<cxxflags>-w-8080
                   <target-os>cygwin:<define>_POSIX_C_SOURCE=200112L
                   # Disable Warning about boost::noncopyable not being exported
                   <link>shared,<toolset>msvc:<cxxflags>-wd4275
                   <toolset>msvc:<cxxflags>-wd4671
                   <toolset>msvc:<cxxflags>-wd4673
                   [ predef-check "BOOST_COMP_GNUC >= 4.3.0" : : <cxxflags>-Wno-variadic-macros ]
                   <toolset>clang:<cxxflags>-Wno-c99-extensions
                   <toolset>clang:<cxxflags>-Wno-variadic-macros
                   <warnings>all
                   # <warnings-as-errors>on

    : usage-requirements
                   <define>BOOST_TEST_NO_AUTO_LINK=1
                   # Disable Warning about boost::noncopyable not being exported
                   <link>shared,<toolset>msvc:<cxxflags>-wd4275
    ;

PRG_EXEC_MON_SOURCES =
  execution_monitor
  debug
  cpp_main
  ;

TEST_EXEC_MON_SOURCES =
  compiler_log_formatter
  debug
  decorator
  execution_monitor
  framework
  plain_report_formatter
  progress_monitor
  results_collector
  results_reporter
  test_framework_init_observer
  test_main
  test_tools
  test_tree
  unit_test_log
  unit_test_main
  unit_test_monitor
  unit_test_parameters
  junit_log_formatter
  xml_log_formatter
  xml_report_formatter
  ;

UTF_SOURCES =
  compiler_log_formatter
  debug
  decorator
  execution_monitor
  framework
  plain_report_formatter
  progress_monitor
  results_collector
  results_reporter
  test_framework_init_observer
  test_tools
  test_tree
  unit_test_log
  unit_test_main
  unit_test_monitor
  unit_test_parameters
  junit_log_formatter
  xml_log_formatter
  xml_report_formatter
  ;

lib boost_prg_exec_monitor
  : # sources
    $(PRG_EXEC_MON_SOURCES).cpp
  : # requirements
  : # default build
  : # usage-requirements
    <link>shared:<define>BOOST_TEST_DYN_LINK=1
  ;

lib boost_test_exec_monitor
  : # sources
    $(TEST_EXEC_MON_SOURCES).cpp
  : # requirements
    <link>static
  : # default build
  : # usage-requirements
    <link>shared:<define>BOOST_TEST_DYN_LINK=1
  ;

lib boost_unit_test_framework
  : # sources
    $(UTF_SOURCES).cpp
  : # requirements
  : # default build
  : # usage-requirements
    <link>shared:<define>BOOST_TEST_DYN_LINK=1
  ;

alias minimal ;

alias included ;

boost-install boost_prg_exec_monitor
              boost_test_exec_monitor
              boost_unit_test_framework ;
